Maintaining data confidentiality is an important concern for all computing device users regardless of task(s) performed. Encryption schemes represent one form of technology directed towards securing data when stored in memory and/or transmitted over networks. Fully homomorphic encryption (FHE) refers to an encryption scheme that allows an untrusted server to execute arbitrary computation on encrypted data on behalf of a computing device often referred to as a client.
Conventional solutions for constructing a FHE scheme often incur significant costs due to a reliance on certain mathematical concepts (e.g., ideal lattices) to evaluate any function on encrypted data. In practice, these constructions can be improved using conventional techniques, such as those related to batch-wise or bit-wise encryption, but often remain unworkable for a number of reasons, for example, necessitating deep circuits, such as those based on encryption standards, and/or substantial storage space to process ciphertexts. While some FHE constructions are capable of computing block ciphertexts homomorphically, evaluating a single block using these constructions are several orders of magnitude slower in terms of throughput and latency when compared to evaluating a single block non-homomorphically. Such a performance difference highlights the current impracticality of implementing FHE schemes using these conventional solutions.